<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    var maxVowels = function (s, k) {
      const vowel = new Set(['a', 'e', 'i', 'o', 'u']); // 元音
      let count = 0;  // 滑动窗口中元音的个数
      let max = 0; // 窗口中, 是元音的最多个数
      // 窗口的右边界从0开始!
      for (let i = 0; i < s.length; i++) {
        // i=k的时候, s[0] 滑出窗口了
        if (i >= k) {
          // 判断滑出去的这个元素是不是元音
          // 如果是的话, 那么count - 1
          if (vowel.has(s[i - k])) {
            count -= 1;
          }
        }
        // i 所处的位置是窗口的最右侧, 判断新进入窗口的值是不是元音
        if (vowel.has(s[i])) {
          count += 1;
        }
        // 存储相对大的值
        // 并且如果最大值等于K, 说明窗口中每一个都是元音, 就不再滑动窗口了
        if (count > max) {
          max = count;
          if (max === k) return k;
        }
      }
      return max;
    };
    console.log(maxVowels(s = "aeiou", k = 2))
  </script>
</body>

</html>